﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace NutriLeaf.Web.Core.Food
{
    public interface IFoodCategory
    {
        void AddFoodCategory(string categoryName,string categoryDescription,ref Model.NutriLeafDBEntities context );

        void AddFoodSubCateogy(string categoryName, string categoryDescription, Model.FoodCategory parentCategory, ref Model.NutriLeafDBEntities context);

        void AddFoodSubCateogy(string categoryName, string categoryDescription, int parentCategoryId, ref Model.NutriLeafDBEntities context);

        List<Model.FoodCategory> GetSubCategories(int foodCategoryId, ref Model.NutriLeafDBEntities context);

        Model.FoodCategory GetParentCategory(int foodCategoryId, ref Model.NutriLeafDBEntities context);

        Model.FoodCategory GetFoodCategory(int foodCategoryId, ref Model.NutriLeafDBEntities context);

        void RemoveAllSubCategories(int foodCategoryId, ref Model.NutriLeafDBEntities context);

        void RemoveFoodCategory(int foodCategoyrId, ref Model.NutriLeafDBEntities context);

        void AddFoodToFoodCategory(int foodId, int foodCategoryId, ref Model.NutriLeafDBEntities context);

        void RemoveFoodFromFoodCategory(int foodId, int foodCategoryId, ref Model.NutriLeafDBEntities context);

        List<Model.FoodCategory> GetFoodCategoriesOfFood(int foodId, ref Model.NutriLeafDBEntities context);

        List<Model.Food> GetFoodsInCategory(int categoryId,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

    }
}